<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>SPHinXsys: SPHINXsys/src/shared/meshes/mesh_cell_linked_list.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">SPHinXsys
   &#160;<span id="projectnumber">alpha version</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_3dc1dabd28ba78e072d14d3fcfc90454.html">SPHINXsys</a></li><li class="navelem"><a class="el" href="dir_48ea983704c43b6d88c1fa3f4d09e369.html">src</a></li><li class="navelem"><a class="el" href="dir_0a0d9ef1793521534f0094f317758287.html">shared</a></li><li class="navelem"><a class="el" href="dir_61d72b4dd46479d55af927dc89c7a78c.html">meshes</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="headertitle">
<div class="title">mesh_cell_linked_list.h</div>  </div>
</div><!--header-->
<div class="contents">
<a href="mesh__cell__linked__list_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="preprocessor">#pragma once</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="base__mesh_8h.html">base_mesh.h</a>&quot;</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespace_s_p_h.html">SPH</a> {</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <span class="keyword">class </span>SPHSystem;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    <span class="keyword">class </span>SPHBody;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    <span class="keyword">class </span>BaseParticles;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    <span class="keyword">class </span>Kernel;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno"><a class="line" href="class_s_p_h_1_1_cell_list.html">   26</a></span>&#160;    <span class="keyword">class </span><a class="code" href="class_s_p_h_1_1_cell_list.html">CellList</a></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;    {</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;    <span class="keyword">public</span>:</div><div class="line"><a name="l00030"></a><span class="lineno"><a class="line" href="class_s_p_h_1_1_cell_list.html#a8ea5d710631cb6bb539065732a51e7e0">   30</a></span>&#160;        <a class="code" href="namespace_s_p_h.html#a1d45b2f40a5958c27e08837b107dc995">ConcurrentIndexVector</a> <a class="code" href="class_s_p_h_1_1_cell_list.html#a8ea5d710631cb6bb539065732a51e7e0">concurrent_particle_indexes_</a>;</div><div class="line"><a name="l00032"></a><span class="lineno"><a class="line" href="class_s_p_h_1_1_cell_list.html#a2ca9d9c369de81d5d6d005264d681ab4">   32</a></span>&#160;        <a class="code" href="namespace_s_p_h.html#a856451cbf2b050bbfc31b266ec4f7022">CellListDataVector</a> <a class="code" href="class_s_p_h_1_1_cell_list.html#a2ca9d9c369de81d5d6d005264d681ab4">cell_list_data_</a>;</div><div class="line"><a name="l00034"></a><span class="lineno"><a class="line" href="class_s_p_h_1_1_cell_list.html#a399df456f271a30ca523db0a4f46e520">   34</a></span>&#160;        <a class="code" href="namespace_s_p_h.html#abae56fd7f25f13487c7943ce4681d0ce">IndexVector</a> <a class="code" href="class_s_p_h_1_1_cell_list.html#a399df456f271a30ca523db0a4f46e520">real_particle_indexes_</a>;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;        <a class="code" href="class_s_p_h_1_1_cell_list.html">CellList</a>();</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;        ~<a class="code" href="class_s_p_h_1_1_cell_list.html">CellList</a>() {};</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;    };</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="class_s_p_h_1_1_base_mesh_cell_linked_list.html">   44</a></span>&#160;    <span class="keyword">class </span><a class="code" href="class_s_p_h_1_1_base_mesh_cell_linked_list.html">BaseMeshCellLinkedList</a> : <span class="keyword">public</span> <a class="code" href="class_s_p_h_1_1_mesh.html">Mesh</a></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;    {</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;    <span class="keyword">protected</span>:</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;        <a class="code" href="class_s_p_h_1_1_s_p_h_body.html">SPHBody</a>* body_;</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;        <a class="code" href="class_s_p_h_1_1_base_particles.html">BaseParticles</a>* base_particles_;</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;        <a class="code" href="class_s_p_h_1_1_kernel.html">Kernel</a>* kernel_;</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;        <span class="keywordtype">void</span> <a class="code" href="class_s_p_h_1_1_base_mesh_cell_linked_list.html#aeb61174e195426f6a9d91908837b375f">ClearCellLists</a>(<a class="code" href="class_s_p_h_1_1_s_vec.html">Vecu</a>&amp; number_of_cells, <a class="code" href="class_s_p_h_1_1_cell_list.html">matrix_cell</a> cell_linked_lists);</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;        <span class="keywordtype">void</span> <a class="code" href="class_s_p_h_1_1_base_mesh_cell_linked_list.html#ae441a1032cab9a179632ec5698d73dbb">ClearSplitCellLists</a>(<a class="code" href="namespace_s_p_h.html#ac592bbe202be73decfcbfe8201484ffa">SplitCellLists</a>&amp; split_cell_lists);</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;        <span class="keywordtype">void</span> <a class="code" href="class_s_p_h_1_1_base_mesh_cell_linked_list.html#a819c876038f04cd2a4e80d9ab30a29d9">UpdateSplitCellLists</a>(<a class="code" href="namespace_s_p_h.html#ac592bbe202be73decfcbfe8201484ffa">SplitCellLists</a>&amp; split_cell_lists,</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;            <a class="code" href="class_s_p_h_1_1_s_vec.html">Vecu</a>&amp; number_of_cells, <a class="code" href="class_s_p_h_1_1_cell_list.html">matrix_cell</a> cell_linked_lists);</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;        <span class="keywordtype">void</span> <a class="code" href="class_s_p_h_1_1_base_mesh_cell_linked_list.html#a853abac8ace13208300e359edefd536e">UpdateCellListData</a>(<a class="code" href="class_s_p_h_1_1_cell_list.html">matrix_cell</a> cell_linked_lists);</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;    <span class="keyword">public</span>:</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;        <a class="code" href="class_s_p_h_1_1_base_mesh_cell_linked_list.html#a7066b497f085fb4d26c05c2eddd5f4fd">BaseMeshCellLinkedList</a>(<a class="code" href="class_s_p_h_1_1_s_p_h_body.html">SPHBody</a>* body, Vecd lower_bound, Vecd upper_bound, </div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;            Real cell_spacing, <span class="keywordtype">size_t</span> buffer_size = 2);</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;        <a class="code" href="class_s_p_h_1_1_base_mesh_cell_linked_list.html#a7066b497f085fb4d26c05c2eddd5f4fd">BaseMeshCellLinkedList</a>(<a class="code" href="class_s_p_h_1_1_s_p_h_body.html">SPHBody</a>* body, </div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;            Vecd mesh_lower_bound, <a class="code" href="class_s_p_h_1_1_s_vec.html">Vecu</a> number_of_cells, Real cell_spacing);</div><div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="class_s_p_h_1_1_base_mesh_cell_linked_list.html#a34d716e5a519f34f9655fe050b2b94ad">   68</a></span>&#160;        <span class="keyword">virtual</span> <a class="code" href="class_s_p_h_1_1_base_mesh_cell_linked_list.html#a34d716e5a519f34f9655fe050b2b94ad">~BaseMeshCellLinkedList</a>() {};</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;        <span class="keywordtype">int</span> <a class="code" href="class_s_p_h_1_1_base_mesh_cell_linked_list.html#abad264a94fc376ef5568427fcc5b91f7">ComputingSearchRage</a>(<span class="keywordtype">int</span> origin_refinement_level,</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;            <span class="keywordtype">int</span> target_refinement_level);</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;        <a class="code" href="class_s_p_h_1_1_kernel.html">Kernel</a>&amp; <a class="code" href="class_s_p_h_1_1_base_mesh_cell_linked_list.html#a90ab45e52b8424feed4baadc78e47e5a">ChoosingKernel</a>(<a class="code" href="class_s_p_h_1_1_kernel.html">Kernel</a>* original_kernel, <a class="code" href="class_s_p_h_1_1_kernel.html">Kernel</a>* target_kernel);</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;        <span class="keyword">virtual</span> <a class="code" href="class_s_p_h_1_1_cell_list.html">CellList</a>* <a class="code" href="class_s_p_h_1_1_base_mesh_cell_linked_list.html#af34116b9b04fca56ac6191bec94dbd09">CellListFormIndex</a>(<a class="code" href="class_s_p_h_1_1_s_vec.html">Vecu</a> cell_index) = 0;</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;        <span class="keyword">virtual</span> <a class="code" href="class_s_p_h_1_1_cell_list.html">matrix_cell</a> <a class="code" href="class_s_p_h_1_1_base_mesh_cell_linked_list.html#a56d4a69cc95d70b5877a5f65562d8492">CellLinkedLists</a>() = 0;</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;        <span class="keywordtype">void</span> <a class="code" href="class_s_p_h_1_1_base_mesh_cell_linked_list.html#a107b5e05861ae9427ec2a7d603a4d00b">assignParticles</a>(<a class="code" href="class_s_p_h_1_1_base_particles.html">BaseParticles</a>* base_particles);</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;        <span class="keywordtype">void</span> <a class="code" href="class_s_p_h_1_1_base_mesh_cell_linked_list.html#a6608436e6fcebf3139707aa933aa7386">reassignKernel</a>(<a class="code" href="class_s_p_h_1_1_kernel.html">Kernel</a>* kernel);</div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_s_p_h_1_1_base_mesh_cell_linked_list.html#aa7839d06308ed6b64e139eaf07b863cd">allocateMeshDataMatrix</a>() = 0;</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_s_p_h_1_1_base_mesh_cell_linked_list.html#a13904038e59048d5cccb5cf4432025ea">deleteMeshDataMatrix</a>() = 0;</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_s_p_h_1_1_base_mesh_cell_linked_list.html#a63755fbcd778da3d392e4625f6d570ef">UpdateCellLists</a>() = 0;</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_s_p_h_1_1_base_mesh_cell_linked_list.html#a0900c531138432ea0a4d87aa994a51e7">InsertACellLinkedParticleIndex</a>(<span class="keywordtype">size_t</span> particle_index, Vecd particle_position) = 0;</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">void</span> InsertACellLinkedListDataEntry(<span class="keywordtype">size_t</span> particle_index, Vecd particle_position) = 0;</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;    };</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;    <span class="comment">/* -------------------------------------------------------------------------*</span></div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="comment">*                               SPHinXsys                                   *</span></div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;<span class="comment">* --------------------------------------------------------------------------*</span></div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;<span class="comment">* SPHinXsys (pronunciation: s&#39;finksis) is an acronym from Smoothed Particle *</span></div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;<span class="comment">* Hydrodynamics for industrial compleX systems. It provides C++ APIs for    *</span></div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="comment">* physical accurate simulation and aims to model coupled industrial dynamic *</span></div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;<span class="comment">* systems including fluid, solid, multi-body dynamics and beyond with SPH   *</span></div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="comment">* (smoothed particle hydrodynamics), a meshless computational method using  *</span></div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;<span class="comment">* particle discretization.                                                  *</span></div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="comment">*                                                                           *</span></div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="comment">* SPHinXsys is partially funded by German Research Foundation               *</span></div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;<span class="comment">* (Deutsche Forschungsgemeinschaft) DFG HU1527/6-1, HU1527/10-1             *</span></div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="comment">* and HU1527/12-1.                                                          *</span></div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="comment">*                                                                           *</span></div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;<span class="comment">* Portions copyright (c) 2017-2020 Technical University of Munich and       *</span></div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="comment">* the authors&#39; affiliations.                                                *</span></div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;<span class="comment">*                                                                           *</span></div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;<span class="comment">* Licensed under the Apache License, Version 2.0 (the &quot;License&quot;); you may   *</span></div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;<span class="comment">* not use this file except in compliance with the License. You may obtain a *</span></div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="comment">* copy of the License at http://www.apache.org/licenses/LICENSE-2.0.        *</span></div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="comment">*                                                                           *</span></div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="comment">* --------------------------------------------------------------------------*/</span></div><div class="line"><a name="l00124"></a><span class="lineno"><a class="line" href="class_s_p_h_1_1_mesh_cell_linked_list.html">  124</a></span>&#160;    <span class="keyword">class </span><a class="code" href="class_s_p_h_1_1_mesh_cell_linked_list.html">MeshCellLinkedList</a> : <span class="keyword">public</span> <a class="code" href="class_s_p_h_1_1_base_mesh_cell_linked_list.html">BaseMeshCellLinkedList</a></div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;    {</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;    <span class="keyword">protected</span>:</div><div class="line"><a name="l00128"></a><span class="lineno"><a class="line" href="class_s_p_h_1_1_mesh_cell_linked_list.html#a4b54bc751817dc36f23b01e7673814f9">  128</a></span>&#160;        Real <a class="code" href="class_s_p_h_1_1_mesh_cell_linked_list.html#a4b54bc751817dc36f23b01e7673814f9">cutoff_radius_</a>;</div><div class="line"><a name="l00131"></a><span class="lineno"><a class="line" href="class_s_p_h_1_1_mesh_cell_linked_list.html#a779f66201dda742f7888bd6f17dc4288">  131</a></span>&#160;        <a class="code" href="class_s_p_h_1_1_cell_list.html">matrix_cell</a> <a class="code" href="class_s_p_h_1_1_mesh_cell_linked_list.html#a779f66201dda742f7888bd6f17dc4288">cell_linked_lists_</a>;</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;    <span class="keyword">public</span>:</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;        <a class="code" href="class_s_p_h_1_1_mesh_cell_linked_list.html#a06e38341d2fc2f58913efc018914a785">MeshCellLinkedList</a>(<a class="code" href="class_s_p_h_1_1_s_p_h_body.html">SPHBody</a>* body, Vecd lower_bound, Vecd upper_bound,</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;            Real cell_spacing, <span class="keywordtype">size_t</span> buffer_size = 2);</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;        <a class="code" href="class_s_p_h_1_1_mesh_cell_linked_list.html#a06e38341d2fc2f58913efc018914a785">MeshCellLinkedList</a>(<a class="code" href="class_s_p_h_1_1_s_p_h_body.html">SPHBody</a>* body, Vecd mesh_lower_bound,</div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;            <a class="code" href="class_s_p_h_1_1_s_vec.html">Vecu</a> number_of_cells, Real cell_spacing);</div><div class="line"><a name="l00140"></a><span class="lineno"><a class="line" href="class_s_p_h_1_1_mesh_cell_linked_list.html#a7decc97c138b2b6ea03ba6933e49ca28">  140</a></span>&#160;        <span class="keyword">virtual</span> <a class="code" href="class_s_p_h_1_1_mesh_cell_linked_list.html#a7decc97c138b2b6ea03ba6933e49ca28">~MeshCellLinkedList</a>() { <a class="code" href="class_s_p_h_1_1_mesh_cell_linked_list.html#ada1a1f766ca5a8ba020bfaed1365fe20">deleteMeshDataMatrix</a>(); };</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;        <span class="keyword">virtual</span> <a class="code" href="class_s_p_h_1_1_cell_list.html">CellList</a>* <a class="code" href="class_s_p_h_1_1_mesh_cell_linked_list.html#a5c6a7c613e60568013ce7101d9a4e741">CellListFormIndex</a>(<a class="code" href="class_s_p_h_1_1_s_vec.html">Vecu</a> cell_index) <span class="keyword">override</span>;</div><div class="line"><a name="l00145"></a><span class="lineno"><a class="line" href="class_s_p_h_1_1_mesh_cell_linked_list.html#a1cc31a62e29844a07e445f13af84220f">  145</a></span>&#160;        <span class="keyword">virtual</span> <a class="code" href="class_s_p_h_1_1_cell_list.html">matrix_cell</a> <a class="code" href="class_s_p_h_1_1_mesh_cell_linked_list.html#a1cc31a62e29844a07e445f13af84220f">CellLinkedLists</a>()<span class="keyword"> override </span>{ <span class="keywordflow">return</span> <a class="code" href="class_s_p_h_1_1_mesh_cell_linked_list.html#a779f66201dda742f7888bd6f17dc4288">cell_linked_lists_</a>; };</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_s_p_h_1_1_mesh_cell_linked_list.html#a9c613140524b249bacdda660ea034c4f">allocateMeshDataMatrix</a>() <span class="keyword">override</span>;</div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_s_p_h_1_1_mesh_cell_linked_list.html#ada1a1f766ca5a8ba020bfaed1365fe20">deleteMeshDataMatrix</a>() <span class="keyword">override</span>;</div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_s_p_h_1_1_mesh_cell_linked_list.html#a8c9d043f14c2b4c80f2fc7f7580d05bb">UpdateCellLists</a>() <span class="keyword">override</span>;</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;</div><div class="line"><a name="l00156"></a><span class="lineno"><a class="line" href="class_s_p_h_1_1_mesh_cell_linked_list.html#a8527e1d71f0e085f0f7f5986ce10153c">  156</a></span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_s_p_h_1_1_mesh_cell_linked_list.html#a8527e1d71f0e085f0f7f5986ce10153c">writeMeshToVtuFile</a>(ofstream &amp;output_file)<span class="keyword"> override </span>{};</div><div class="line"><a name="l00157"></a><span class="lineno"><a class="line" href="class_s_p_h_1_1_mesh_cell_linked_list.html#a7f47ea7d9eca28aab283be623630e037">  157</a></span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_s_p_h_1_1_mesh_cell_linked_list.html#a7f47ea7d9eca28aab283be623630e037">writeMeshToPltFile</a>(ofstream &amp;output_file)<span class="keyword"> override </span>{};</div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;        <span class="keywordtype">void</span> <a class="code" href="class_s_p_h_1_1_mesh_cell_linked_list.html#a8b08632af1585921bd244230c7507460">InsertACellLinkedParticleIndex</a>(<span class="keywordtype">size_t</span> particle_index, Vecd particle_position) <span class="keyword">override</span>;</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;        <span class="keywordtype">void</span> InsertACellLinkedListDataEntry(<span class="keywordtype">size_t</span> particle_index, Vecd particle_position) <span class="keyword">override</span>;</div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;    };</div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;</div><div class="line"><a name="l00169"></a><span class="lineno"><a class="line" href="class_s_p_h_1_1_multilevel_mesh_cell_linked_list.html">  169</a></span>&#160;    <span class="keyword">class </span><a class="code" href="class_s_p_h_1_1_multilevel_mesh_cell_linked_list.html">MultilevelMeshCellLinkedList</a> : <span class="keyword">public</span> <a class="code" href="class_s_p_h_1_1_base_mesh_cell_linked_list.html">BaseMeshCellLinkedList</a></div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;    {</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;    <span class="keyword">protected</span>:</div><div class="line"><a name="l00174"></a><span class="lineno"><a class="line" href="class_s_p_h_1_1_multilevel_mesh_cell_linked_list.html#a990351a7d5b855776ad8afa3f63ac3c5">  174</a></span>&#160;        <span class="keywordtype">size_t</span> <a class="code" href="class_s_p_h_1_1_multilevel_mesh_cell_linked_list.html#a990351a7d5b855776ad8afa3f63ac3c5">total_levels_</a>;</div><div class="line"><a name="l00176"></a><span class="lineno"><a class="line" href="class_s_p_h_1_1_multilevel_mesh_cell_linked_list.html#abe4417adec05e56d361e3762298694e9">  176</a></span>&#160;        <a class="code" href="class_std_vec_3_01_real_01_4.html">StdVec&lt;Real&gt;</a> <a class="code" href="class_s_p_h_1_1_multilevel_mesh_cell_linked_list.html#abe4417adec05e56d361e3762298694e9">cell_spacing_levels_</a>;</div><div class="line"><a name="l00178"></a><span class="lineno"><a class="line" href="class_s_p_h_1_1_multilevel_mesh_cell_linked_list.html#aa69bf0a8d751b736dbd36c2c01d396e8">  178</a></span>&#160;        StdVec&lt;Vecu&gt; <a class="code" href="class_s_p_h_1_1_multilevel_mesh_cell_linked_list.html#aa69bf0a8d751b736dbd36c2c01d396e8">number_of_cells_levels_</a>;</div><div class="line"><a name="l00180"></a><span class="lineno"><a class="line" href="class_s_p_h_1_1_multilevel_mesh_cell_linked_list.html#af775796d987783d81d338cca653086d1">  180</a></span>&#160;        StdVec&lt;SplitCellLists&gt; <a class="code" href="class_s_p_h_1_1_multilevel_mesh_cell_linked_list.html#af775796d987783d81d338cca653086d1">split_cell_lists_levels_</a>;</div><div class="line"><a name="l00182"></a><span class="lineno"><a class="line" href="class_s_p_h_1_1_multilevel_mesh_cell_linked_list.html#a85ecba00ecf7b68d7b71b9e9b82ee464">  182</a></span>&#160;        StdVec&lt;MeshDataMatrix&lt;CellList&gt;&gt; <a class="code" href="class_s_p_h_1_1_multilevel_mesh_cell_linked_list.html#a85ecba00ecf7b68d7b71b9e9b82ee464">cell_linked_lists_levels_</a>;</div><div class="line"><a name="l00184"></a><span class="lineno"><a class="line" href="class_s_p_h_1_1_multilevel_mesh_cell_linked_list.html#a1cb585860989d240fabcf3d253460a83">  184</a></span>&#160;        StdVec&lt;MeshCellLinkedList*&gt; <a class="code" href="class_s_p_h_1_1_multilevel_mesh_cell_linked_list.html#a1cb585860989d240fabcf3d253460a83">mesh_cell_linked_list_levels_</a>;</div><div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;        <span class="keywordtype">size_t</span> <a class="code" href="class_s_p_h_1_1_multilevel_mesh_cell_linked_list.html#a580a3736f126d4d133f158562f5ff79e">getLevelFromCutOffRadius</a>(Real smoothing_length);</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;        <a class="code" href="class_s_p_h_1_1_s_vec.html">Vecu</a> <a class="code" href="class_s_p_h_1_1_multilevel_mesh_cell_linked_list.html#a48b3ed768dc5e0c50e6fcec4fad789de">getLevelCellIndexesFromPosition</a>(Vecd&amp; position, <span class="keywordtype">size_t</span> level);</div><div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;        <span class="keywordtype">void</span> <a class="code" href="class_s_p_h_1_1_multilevel_mesh_cell_linked_list.html#ac39c796dfc0c420d96baab8f5b5e45d7">InsertACellLinkedListEntryAtALevel</a>(<span class="keywordtype">size_t</span> particle_index, Vecd&amp; position, <a class="code" href="class_s_p_h_1_1_s_vec.html">Vecu</a>&amp; cell_index, <span class="keywordtype">size_t</span> level);</div><div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;    <span class="keyword">public</span>:</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;        <a class="code" href="class_s_p_h_1_1_multilevel_mesh_cell_linked_list.html#a316c7e24d6669654233c746e58f943a9">MultilevelMeshCellLinkedList</a>(<a class="code" href="class_s_p_h_1_1_s_p_h_body.html">SPHBody</a>* body, Vecd lower_bound, Vecd upper_bound,</div><div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;            Real reference_cell_spacing, <span class="keywordtype">size_t</span> total_levels = 1, <span class="keywordtype">size_t</span> buffer_size = 2);</div><div class="line"><a name="l00197"></a><span class="lineno"><a class="line" href="class_s_p_h_1_1_multilevel_mesh_cell_linked_list.html#afb0ea6c2dbcececf0541cfec075986a1">  197</a></span>&#160;        <span class="keyword">virtual</span> <a class="code" href="class_s_p_h_1_1_multilevel_mesh_cell_linked_list.html#afb0ea6c2dbcececf0541cfec075986a1">~MultilevelMeshCellLinkedList</a>() {};</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;</div><div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;        <span class="keyword">virtual</span> <a class="code" href="class_s_p_h_1_1_cell_list.html">CellList</a>* <a class="code" href="class_s_p_h_1_1_multilevel_mesh_cell_linked_list.html#aef7dad9df1e092098923ba762db857ce">CellListFormIndex</a>(<a class="code" href="class_s_p_h_1_1_s_vec.html">Vecu</a> cell_index) <span class="keyword">override</span>;</div><div class="line"><a name="l00202"></a><span class="lineno"><a class="line" href="class_s_p_h_1_1_multilevel_mesh_cell_linked_list.html#aba84a1dcf250e7741dba922c109868b4">  202</a></span>&#160;        <span class="keyword">virtual</span> <a class="code" href="class_s_p_h_1_1_cell_list.html">matrix_cell</a> <a class="code" href="class_s_p_h_1_1_multilevel_mesh_cell_linked_list.html#aba84a1dcf250e7741dba922c109868b4">CellLinkedLists</a>()<span class="keyword"> override </span>{ <span class="keywordflow">return</span> <a class="code" href="class_s_p_h_1_1_multilevel_mesh_cell_linked_list.html#a85ecba00ecf7b68d7b71b9e9b82ee464">cell_linked_lists_levels_</a>[0]; };</div><div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;</div><div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_s_p_h_1_1_multilevel_mesh_cell_linked_list.html#a794feb60c85193d22ec086b7ac0b4f0d">allocateMeshDataMatrix</a>() <span class="keyword">override</span>;</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_s_p_h_1_1_multilevel_mesh_cell_linked_list.html#ac8428dda93fb7a56c1d57de496ea3001">deleteMeshDataMatrix</a>() <span class="keyword">override</span>;</div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;</div><div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_s_p_h_1_1_multilevel_mesh_cell_linked_list.html#a0a14361278e2f504cba9627766dbb8a3">UpdateCellLists</a>() <span class="keyword">override</span>;</div><div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;        <span class="keywordtype">void</span> <a class="code" href="class_s_p_h_1_1_multilevel_mesh_cell_linked_list.html#a36001b6b0682df376999a9b4693d745b">InsertACellLinkedParticleIndex</a>(<span class="keywordtype">size_t</span> particle_index, Vecd particle_position) <span class="keyword">override</span>;</div><div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;        <span class="keywordtype">void</span> InsertACellLinkedListDataEntry(<span class="keywordtype">size_t</span> particle_index, Vecd particle_position)<span class="keyword"> override </span>{};</div><div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;    };</div><div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;}</div><div class="ttc" id="namespace_s_p_h_html_ac592bbe202be73decfcbfe8201484ffa"><div class="ttname"><a href="namespace_s_p_h.html#ac592bbe202be73decfcbfe8201484ffa">SPH::SplitCellLists</a></div><div class="ttdeci">StdVec&lt; ConcurrentCellLists &gt; SplitCellLists</div><div class="ttdef"><b>Definition:</b> sph_data_conainers.h:51</div></div>
<div class="ttc" id="class_s_p_h_1_1_base_mesh_cell_linked_list_html_a853abac8ace13208300e359edefd536e"><div class="ttname"><a href="class_s_p_h_1_1_base_mesh_cell_linked_list.html#a853abac8ace13208300e359edefd536e">SPH::BaseMeshCellLinkedList::UpdateCellListData</a></div><div class="ttdeci">void UpdateCellListData(matrix_cell cell_linked_lists)</div><div class="ttdef"><b>Definition:</b> mesh_cell_linked_list_supplementary.cpp:55</div></div>
<div class="ttc" id="base__mesh_8h_html"><div class="ttname"><a href="base__mesh_8h.html">base_mesh.h</a></div><div class="ttdoc">This is the base classes of mesh, which describe ordered and indexed data sets. Depending on applicat...</div></div>
<div class="ttc" id="class_s_p_h_1_1_base_mesh_cell_linked_list_html_a34d716e5a519f34f9655fe050b2b94ad"><div class="ttname"><a href="class_s_p_h_1_1_base_mesh_cell_linked_list.html#a34d716e5a519f34f9655fe050b2b94ad">SPH::BaseMeshCellLinkedList::~BaseMeshCellLinkedList</a></div><div class="ttdeci">virtual ~BaseMeshCellLinkedList()</div><div class="ttdef"><b>Definition:</b> mesh_cell_linked_list.h:68</div></div>
<div class="ttc" id="class_s_p_h_1_1_base_particles_html"><div class="ttname"><a href="class_s_p_h_1_1_base_particles.html">SPH::BaseParticles</a></div><div class="ttdoc">Particles with essential (geometric and kinematic) data. There are three types of particles...</div><div class="ttdef"><b>Definition:</b> base_particles.h:87</div></div>
<div class="ttc" id="class_s_p_h_1_1_mesh_cell_linked_list_html_a1cc31a62e29844a07e445f13af84220f"><div class="ttname"><a href="class_s_p_h_1_1_mesh_cell_linked_list.html#a1cc31a62e29844a07e445f13af84220f">SPH::MeshCellLinkedList::CellLinkedLists</a></div><div class="ttdeci">virtual matrix_cell CellLinkedLists() override</div><div class="ttdef"><b>Definition:</b> mesh_cell_linked_list.h:145</div></div>
<div class="ttc" id="class_s_p_h_1_1_base_mesh_cell_linked_list_html"><div class="ttname"><a href="class_s_p_h_1_1_base_mesh_cell_linked_list.html">SPH::BaseMeshCellLinkedList</a></div><div class="ttdoc">Abstract class for mesh cell linked list. </div><div class="ttdef"><b>Definition:</b> mesh_cell_linked_list.h:44</div></div>
<div class="ttc" id="class_s_p_h_1_1_mesh_cell_linked_list_html_a779f66201dda742f7888bd6f17dc4288"><div class="ttname"><a href="class_s_p_h_1_1_mesh_cell_linked_list.html#a779f66201dda742f7888bd6f17dc4288">SPH::MeshCellLinkedList::cell_linked_lists_</a></div><div class="ttdeci">matrix_cell cell_linked_lists_</div><div class="ttdef"><b>Definition:</b> mesh_cell_linked_list.h:131</div></div>
<div class="ttc" id="class_s_p_h_1_1_s_vec_html"><div class="ttname"><a href="class_s_p_h_1_1_s_vec.html">SPH::SVec</a></div><div class="ttdef"><b>Definition:</b> small_vectors.h:44</div></div>
<div class="ttc" id="namespace_s_p_h_html_abae56fd7f25f13487c7943ce4681d0ce"><div class="ttname"><a href="namespace_s_p_h.html#abae56fd7f25f13487c7943ce4681d0ce">SPH::IndexVector</a></div><div class="ttdeci">StdVec&lt; size_t &gt; IndexVector</div><div class="ttdef"><b>Definition:</b> sph_data_conainers.h:30</div></div>
<div class="ttc" id="class_s_p_h_1_1_base_mesh_cell_linked_list_html_af34116b9b04fca56ac6191bec94dbd09"><div class="ttname"><a href="class_s_p_h_1_1_base_mesh_cell_linked_list.html#af34116b9b04fca56ac6191bec94dbd09">SPH::BaseMeshCellLinkedList::CellListFormIndex</a></div><div class="ttdeci">virtual CellList * CellListFormIndex(Vecu cell_index)=0</div></div>
<div class="ttc" id="class_s_p_h_1_1_base_mesh_cell_linked_list_html_a90ab45e52b8424feed4baadc78e47e5a"><div class="ttname"><a href="class_s_p_h_1_1_base_mesh_cell_linked_list.html#a90ab45e52b8424feed4baadc78e47e5a">SPH::BaseMeshCellLinkedList::ChoosingKernel</a></div><div class="ttdeci">Kernel &amp; ChoosingKernel(Kernel *original_kernel, Kernel *target_kernel)</div><div class="ttdef"><b>Definition:</b> mesh_cell_linked_list.cpp:35</div></div>
<div class="ttc" id="class_s_p_h_1_1_multilevel_mesh_cell_linked_list_html_aa69bf0a8d751b736dbd36c2c01d396e8"><div class="ttname"><a href="class_s_p_h_1_1_multilevel_mesh_cell_linked_list.html#aa69bf0a8d751b736dbd36c2c01d396e8">SPH::MultilevelMeshCellLinkedList::number_of_cells_levels_</a></div><div class="ttdeci">StdVec&lt; Vecu &gt; number_of_cells_levels_</div><div class="ttdef"><b>Definition:</b> mesh_cell_linked_list.h:178</div></div>
<div class="ttc" id="class_s_p_h_1_1_cell_list_html_a8ea5d710631cb6bb539065732a51e7e0"><div class="ttname"><a href="class_s_p_h_1_1_cell_list.html#a8ea5d710631cb6bb539065732a51e7e0">SPH::CellList::concurrent_particle_indexes_</a></div><div class="ttdeci">ConcurrentIndexVector concurrent_particle_indexes_</div><div class="ttdef"><b>Definition:</b> mesh_cell_linked_list.h:30</div></div>
<div class="ttc" id="class_s_p_h_1_1_base_mesh_cell_linked_list_html_a107b5e05861ae9427ec2a7d603a4d00b"><div class="ttname"><a href="class_s_p_h_1_1_base_mesh_cell_linked_list.html#a107b5e05861ae9427ec2a7d603a4d00b">SPH::BaseMeshCellLinkedList::assignParticles</a></div><div class="ttdeci">void assignParticles(BaseParticles *base_particles)</div><div class="ttdef"><b>Definition:</b> mesh_cell_linked_list.cpp:42</div></div>
<div class="ttc" id="class_s_p_h_1_1_mesh_html"><div class="ttname"><a href="class_s_p_h_1_1_mesh.html">SPH::Mesh</a></div><div class="ttdoc">Abstract base class for defining basic mesh properties. The mesh is proposed for several functions...</div><div class="ttdef"><b>Definition:</b> base_mesh.h:183</div></div>
<div class="ttc" id="class_s_p_h_1_1_multilevel_mesh_cell_linked_list_html_ac8428dda93fb7a56c1d57de496ea3001"><div class="ttname"><a href="class_s_p_h_1_1_multilevel_mesh_cell_linked_list.html#ac8428dda93fb7a56c1d57de496ea3001">SPH::MultilevelMeshCellLinkedList::deleteMeshDataMatrix</a></div><div class="ttdeci">virtual void deleteMeshDataMatrix() override</div><div class="ttdef"><b>Definition:</b> mesh_cell_linked_list.cpp:175</div></div>
<div class="ttc" id="class_s_p_h_1_1_base_mesh_cell_linked_list_html_a63755fbcd778da3d392e4625f6d570ef"><div class="ttname"><a href="class_s_p_h_1_1_base_mesh_cell_linked_list.html#a63755fbcd778da3d392e4625f6d570ef">SPH::BaseMeshCellLinkedList::UpdateCellLists</a></div><div class="ttdeci">virtual void UpdateCellLists()=0</div></div>
<div class="ttc" id="class_s_p_h_1_1_base_mesh_cell_linked_list_html_a0900c531138432ea0a4d87aa994a51e7"><div class="ttname"><a href="class_s_p_h_1_1_base_mesh_cell_linked_list.html#a0900c531138432ea0a4d87aa994a51e7">SPH::BaseMeshCellLinkedList::InsertACellLinkedParticleIndex</a></div><div class="ttdeci">virtual void InsertACellLinkedParticleIndex(size_t particle_index, Vecd particle_position)=0</div></div>
<div class="ttc" id="class_s_p_h_1_1_multilevel_mesh_cell_linked_list_html_ac39c796dfc0c420d96baab8f5b5e45d7"><div class="ttname"><a href="class_s_p_h_1_1_multilevel_mesh_cell_linked_list.html#ac39c796dfc0c420d96baab8f5b5e45d7">SPH::MultilevelMeshCellLinkedList::InsertACellLinkedListEntryAtALevel</a></div><div class="ttdeci">void InsertACellLinkedListEntryAtALevel(size_t particle_index, Vecd &amp;position, Vecu &amp;cell_index, size_t level)</div><div class="ttdef"><b>Definition:</b> mesh_cell_linked_list_supplementary.cpp:88</div></div>
<div class="ttc" id="class_s_p_h_1_1_mesh_cell_linked_list_html"><div class="ttname"><a href="class_s_p_h_1_1_mesh_cell_linked_list.html">SPH::MeshCellLinkedList</a></div><div class="ttdoc">Defining a mesh cell linked list for a body. The meshes for all bodies share the same global coordina...</div><div class="ttdef"><b>Definition:</b> mesh_cell_linked_list.h:124</div></div>
<div class="ttc" id="class_s_p_h_1_1_base_mesh_cell_linked_list_html_a7066b497f085fb4d26c05c2eddd5f4fd"><div class="ttname"><a href="class_s_p_h_1_1_base_mesh_cell_linked_list.html#a7066b497f085fb4d26c05c2eddd5f4fd">SPH::BaseMeshCellLinkedList::BaseMeshCellLinkedList</a></div><div class="ttdeci">BaseMeshCellLinkedList(SPHBody *body, Vecd lower_bound, Vecd upper_bound, Real cell_spacing, size_t buffer_size=2)</div><div class="ttdef"><b>Definition:</b> mesh_cell_linked_list.cpp:16</div></div>
<div class="ttc" id="class_s_p_h_1_1_mesh_cell_linked_list_html_a7decc97c138b2b6ea03ba6933e49ca28"><div class="ttname"><a href="class_s_p_h_1_1_mesh_cell_linked_list.html#a7decc97c138b2b6ea03ba6933e49ca28">SPH::MeshCellLinkedList::~MeshCellLinkedList</a></div><div class="ttdeci">virtual ~MeshCellLinkedList()</div><div class="ttdef"><b>Definition:</b> mesh_cell_linked_list.h:140</div></div>
<div class="ttc" id="class_s_p_h_1_1_base_mesh_cell_linked_list_html_a6608436e6fcebf3139707aa933aa7386"><div class="ttname"><a href="class_s_p_h_1_1_base_mesh_cell_linked_list.html#a6608436e6fcebf3139707aa933aa7386">SPH::BaseMeshCellLinkedList::reassignKernel</a></div><div class="ttdeci">void reassignKernel(Kernel *kernel)</div><div class="ttdef"><b>Definition:</b> mesh_cell_linked_list.cpp:47</div></div>
<div class="ttc" id="class_s_p_h_1_1_cell_list_html"><div class="ttname"><a href="class_s_p_h_1_1_cell_list.html">SPH::CellList</a></div><div class="ttdoc">The linked list for one cell. </div><div class="ttdef"><b>Definition:</b> mesh_cell_linked_list.h:26</div></div>
<div class="ttc" id="class_s_p_h_1_1_base_mesh_cell_linked_list_html_aa7839d06308ed6b64e139eaf07b863cd"><div class="ttname"><a href="class_s_p_h_1_1_base_mesh_cell_linked_list.html#aa7839d06308ed6b64e139eaf07b863cd">SPH::BaseMeshCellLinkedList::allocateMeshDataMatrix</a></div><div class="ttdeci">virtual void allocateMeshDataMatrix()=0</div></div>
<div class="ttc" id="class_s_p_h_1_1_mesh_cell_linked_list_html_a5c6a7c613e60568013ce7101d9a4e741"><div class="ttname"><a href="class_s_p_h_1_1_mesh_cell_linked_list.html#a5c6a7c613e60568013ce7101d9a4e741">SPH::MeshCellLinkedList::CellListFormIndex</a></div><div class="ttdeci">virtual CellList * CellListFormIndex(Vecu cell_index) override</div><div class="ttdef"><b>Definition:</b> mesh_cell_linked_list_supplementary.cpp:72</div></div>
<div class="ttc" id="class_s_p_h_1_1_multilevel_mesh_cell_linked_list_html_a1cb585860989d240fabcf3d253460a83"><div class="ttname"><a href="class_s_p_h_1_1_multilevel_mesh_cell_linked_list.html#a1cb585860989d240fabcf3d253460a83">SPH::MultilevelMeshCellLinkedList::mesh_cell_linked_list_levels_</a></div><div class="ttdeci">StdVec&lt; MeshCellLinkedList * &gt; mesh_cell_linked_list_levels_</div><div class="ttdef"><b>Definition:</b> mesh_cell_linked_list.h:184</div></div>
<div class="ttc" id="class_s_p_h_1_1_mesh_cell_linked_list_html_a4b54bc751817dc36f23b01e7673814f9"><div class="ttname"><a href="class_s_p_h_1_1_mesh_cell_linked_list.html#a4b54bc751817dc36f23b01e7673814f9">SPH::MeshCellLinkedList::cutoff_radius_</a></div><div class="ttdeci">Real cutoff_radius_</div><div class="ttdef"><b>Definition:</b> mesh_cell_linked_list.h:128</div></div>
<div class="ttc" id="namespace_s_p_h_html_a1d45b2f40a5958c27e08837b107dc995"><div class="ttname"><a href="namespace_s_p_h.html#a1d45b2f40a5958c27e08837b107dc995">SPH::ConcurrentIndexVector</a></div><div class="ttdeci">LargeVec&lt; size_t &gt; ConcurrentIndexVector</div><div class="ttdef"><b>Definition:</b> sph_data_conainers.h:35</div></div>
<div class="ttc" id="class_s_p_h_1_1_base_mesh_cell_linked_list_html_a56d4a69cc95d70b5877a5f65562d8492"><div class="ttname"><a href="class_s_p_h_1_1_base_mesh_cell_linked_list.html#a56d4a69cc95d70b5877a5f65562d8492">SPH::BaseMeshCellLinkedList::CellLinkedLists</a></div><div class="ttdeci">virtual matrix_cell CellLinkedLists()=0</div></div>
<div class="ttc" id="class_s_p_h_1_1_multilevel_mesh_cell_linked_list_html_a316c7e24d6669654233c746e58f943a9"><div class="ttname"><a href="class_s_p_h_1_1_multilevel_mesh_cell_linked_list.html#a316c7e24d6669654233c746e58f943a9">SPH::MultilevelMeshCellLinkedList::MultilevelMeshCellLinkedList</a></div><div class="ttdeci">MultilevelMeshCellLinkedList(SPHBody *body, Vecd lower_bound, Vecd upper_bound, Real reference_cell_spacing, size_t total_levels=1, size_t buffer_size=2)</div><div class="ttdef"><b>Definition:</b> mesh_cell_linked_list.cpp:85</div></div>
<div class="ttc" id="class_s_p_h_1_1_kernel_html"><div class="ttname"><a href="class_s_p_h_1_1_kernel.html">SPH::Kernel</a></div><div class="ttdoc">Abstract base class of a general SPH kernel function which is a smoothed Dirac delta function...</div><div class="ttdef"><b>Definition:</b> base_kernel.h:55</div></div>
<div class="ttc" id="class_s_p_h_1_1_base_mesh_cell_linked_list_html_a13904038e59048d5cccb5cf4432025ea"><div class="ttname"><a href="class_s_p_h_1_1_base_mesh_cell_linked_list.html#a13904038e59048d5cccb5cf4432025ea">SPH::BaseMeshCellLinkedList::deleteMeshDataMatrix</a></div><div class="ttdeci">virtual void deleteMeshDataMatrix()=0</div></div>
<div class="ttc" id="class_s_p_h_1_1_multilevel_mesh_cell_linked_list_html_a0a14361278e2f504cba9627766dbb8a3"><div class="ttname"><a href="class_s_p_h_1_1_multilevel_mesh_cell_linked_list.html#a0a14361278e2f504cba9627766dbb8a3">SPH::MultilevelMeshCellLinkedList::UpdateCellLists</a></div><div class="ttdeci">virtual void UpdateCellLists() override</div><div class="ttdef"><b>Definition:</b> mesh_cell_linked_list.cpp:182</div></div>
<div class="ttc" id="class_s_p_h_1_1_multilevel_mesh_cell_linked_list_html_aef7dad9df1e092098923ba762db857ce"><div class="ttname"><a href="class_s_p_h_1_1_multilevel_mesh_cell_linked_list.html#aef7dad9df1e092098923ba762db857ce">SPH::MultilevelMeshCellLinkedList::CellListFormIndex</a></div><div class="ttdeci">virtual CellList * CellListFormIndex(Vecu cell_index) override</div><div class="ttdef"><b>Definition:</b> mesh_cell_linked_list_supplementary.cpp:94</div></div>
<div class="ttc" id="class_s_p_h_1_1_mesh_cell_linked_list_html_a9c613140524b249bacdda660ea034c4f"><div class="ttname"><a href="class_s_p_h_1_1_mesh_cell_linked_list.html#a9c613140524b249bacdda660ea034c4f">SPH::MeshCellLinkedList::allocateMeshDataMatrix</a></div><div class="ttdeci">virtual void allocateMeshDataMatrix() override</div><div class="ttdef"><b>Definition:</b> mesh_cell_linked_list_supplementary.cpp:77</div></div>
<div class="ttc" id="class_s_p_h_1_1_base_mesh_cell_linked_list_html_a819c876038f04cd2a4e80d9ab30a29d9"><div class="ttname"><a href="class_s_p_h_1_1_base_mesh_cell_linked_list.html#a819c876038f04cd2a4e80d9ab30a29d9">SPH::BaseMeshCellLinkedList::UpdateSplitCellLists</a></div><div class="ttdeci">void UpdateSplitCellLists(SplitCellLists &amp;split_cell_lists, Vecu &amp;number_of_cells, matrix_cell cell_linked_lists)</div><div class="ttdef"><b>Definition:</b> mesh_cell_linked_list_supplementary.cpp:33</div></div>
<div class="ttc" id="class_s_p_h_1_1_mesh_cell_linked_list_html_a8b08632af1585921bd244230c7507460"><div class="ttname"><a href="class_s_p_h_1_1_mesh_cell_linked_list.html#a8b08632af1585921bd244230c7507460">SPH::MeshCellLinkedList::InsertACellLinkedParticleIndex</a></div><div class="ttdeci">void InsertACellLinkedParticleIndex(size_t particle_index, Vecd particle_position) override</div><div class="ttdef"><b>Definition:</b> mesh_cell_linked_list_supplementary.cpp:100</div></div>
<div class="ttc" id="class_s_p_h_1_1_base_mesh_cell_linked_list_html_ae441a1032cab9a179632ec5698d73dbb"><div class="ttname"><a href="class_s_p_h_1_1_base_mesh_cell_linked_list.html#ae441a1032cab9a179632ec5698d73dbb">SPH::BaseMeshCellLinkedList::ClearSplitCellLists</a></div><div class="ttdeci">void ClearSplitCellLists(SplitCellLists &amp;split_cell_lists)</div><div class="ttdef"><b>Definition:</b> mesh_cell_linked_list.cpp:52</div></div>
<div class="ttc" id="class_s_p_h_1_1_mesh_cell_linked_list_html_a06e38341d2fc2f58913efc018914a785"><div class="ttname"><a href="class_s_p_h_1_1_mesh_cell_linked_list.html#a06e38341d2fc2f58913efc018914a785">SPH::MeshCellLinkedList::MeshCellLinkedList</a></div><div class="ttdeci">MeshCellLinkedList(SPHBody *body, Vecd lower_bound, Vecd upper_bound, Real cell_spacing, size_t buffer_size=2)</div><div class="ttdef"><b>Definition:</b> mesh_cell_linked_list.cpp:58</div></div>
<div class="ttc" id="class_s_p_h_1_1_multilevel_mesh_cell_linked_list_html_a48b3ed768dc5e0c50e6fcec4fad789de"><div class="ttname"><a href="class_s_p_h_1_1_multilevel_mesh_cell_linked_list.html#a48b3ed768dc5e0c50e6fcec4fad789de">SPH::MultilevelMeshCellLinkedList::getLevelCellIndexesFromPosition</a></div><div class="ttdeci">Vecu getLevelCellIndexesFromPosition(Vecd &amp;position, size_t level)</div><div class="ttdef"><b>Definition:</b> mesh_cell_linked_list.cpp:134</div></div>
<div class="ttc" id="class_s_p_h_1_1_multilevel_mesh_cell_linked_list_html_a990351a7d5b855776ad8afa3f63ac3c5"><div class="ttname"><a href="class_s_p_h_1_1_multilevel_mesh_cell_linked_list.html#a990351a7d5b855776ad8afa3f63ac3c5">SPH::MultilevelMeshCellLinkedList::total_levels_</a></div><div class="ttdeci">size_t total_levels_</div><div class="ttdef"><b>Definition:</b> mesh_cell_linked_list.h:174</div></div>
<div class="ttc" id="class_s_p_h_1_1_base_mesh_cell_linked_list_html_abad264a94fc376ef5568427fcc5b91f7"><div class="ttname"><a href="class_s_p_h_1_1_base_mesh_cell_linked_list.html#abad264a94fc376ef5568427fcc5b91f7">SPH::BaseMeshCellLinkedList::ComputingSearchRage</a></div><div class="ttdeci">int ComputingSearchRage(int origin_refinement_level, int target_refinement_level)</div><div class="ttdef"><b>Definition:</b> mesh_cell_linked_list.cpp:27</div></div>
<div class="ttc" id="class_s_p_h_1_1_mesh_cell_linked_list_html_a8c9d043f14c2b4c80f2fc7f7580d05bb"><div class="ttname"><a href="class_s_p_h_1_1_mesh_cell_linked_list.html#a8c9d043f14c2b4c80f2fc7f7580d05bb">SPH::MeshCellLinkedList::UpdateCellLists</a></div><div class="ttdeci">virtual void UpdateCellLists() override</div><div class="ttdef"><b>Definition:</b> mesh_cell_linked_list.cpp:68</div></div>
<div class="ttc" id="class_s_p_h_1_1_cell_list_html_a399df456f271a30ca523db0a4f46e520"><div class="ttname"><a href="class_s_p_h_1_1_cell_list.html#a399df456f271a30ca523db0a4f46e520">SPH::CellList::real_particle_indexes_</a></div><div class="ttdeci">IndexVector real_particle_indexes_</div><div class="ttdef"><b>Definition:</b> mesh_cell_linked_list.h:34</div></div>
<div class="ttc" id="class_s_p_h_1_1_base_mesh_cell_linked_list_html_aeb61174e195426f6a9d91908837b375f"><div class="ttname"><a href="class_s_p_h_1_1_base_mesh_cell_linked_list.html#aeb61174e195426f6a9d91908837b375f">SPH::BaseMeshCellLinkedList::ClearCellLists</a></div><div class="ttdeci">void ClearCellLists(Vecu &amp;number_of_cells, matrix_cell cell_linked_lists)</div><div class="ttdef"><b>Definition:</b> mesh_cell_linked_list_supplementary.cpp:21</div></div>
<div class="ttc" id="class_s_p_h_1_1_cell_list_html_a2ca9d9c369de81d5d6d005264d681ab4"><div class="ttname"><a href="class_s_p_h_1_1_cell_list.html#a2ca9d9c369de81d5d6d005264d681ab4">SPH::CellList::cell_list_data_</a></div><div class="ttdeci">CellListDataVector cell_list_data_</div><div class="ttdef"><b>Definition:</b> mesh_cell_linked_list.h:32</div></div>
<div class="ttc" id="class_s_p_h_1_1_multilevel_mesh_cell_linked_list_html_a580a3736f126d4d133f158562f5ff79e"><div class="ttname"><a href="class_s_p_h_1_1_multilevel_mesh_cell_linked_list.html#a580a3736f126d4d133f158562f5ff79e">SPH::MultilevelMeshCellLinkedList::getLevelFromCutOffRadius</a></div><div class="ttdeci">size_t getLevelFromCutOffRadius(Real smoothing_length)</div><div class="ttdef"><b>Definition:</b> mesh_cell_linked_list.cpp:123</div></div>
<div class="ttc" id="class_std_vec_3_01_real_01_4_html"><div class="ttname"><a href="class_std_vec_3_01_real_01_4.html">StdVec&lt; Real &gt;</a></div></div>
<div class="ttc" id="class_s_p_h_1_1_s_p_h_body_html"><div class="ttname"><a href="class_s_p_h_1_1_s_p_h_body.html">SPH::SPHBody</a></div><div class="ttdoc">SPHBody is a base body with basic data and functions. Its derived class can be a real fluid body...</div><div class="ttdef"><b>Definition:</b> base_body.h:73</div></div>
<div class="ttc" id="class_s_p_h_1_1_multilevel_mesh_cell_linked_list_html_afb0ea6c2dbcececf0541cfec075986a1"><div class="ttname"><a href="class_s_p_h_1_1_multilevel_mesh_cell_linked_list.html#afb0ea6c2dbcececf0541cfec075986a1">SPH::MultilevelMeshCellLinkedList::~MultilevelMeshCellLinkedList</a></div><div class="ttdeci">virtual ~MultilevelMeshCellLinkedList()</div><div class="ttdef"><b>Definition:</b> mesh_cell_linked_list.h:197</div></div>
<div class="ttc" id="class_s_p_h_1_1_multilevel_mesh_cell_linked_list_html_a85ecba00ecf7b68d7b71b9e9b82ee464"><div class="ttname"><a href="class_s_p_h_1_1_multilevel_mesh_cell_linked_list.html#a85ecba00ecf7b68d7b71b9e9b82ee464">SPH::MultilevelMeshCellLinkedList::cell_linked_lists_levels_</a></div><div class="ttdeci">StdVec&lt; MeshDataMatrix&lt; CellList &gt; &gt; cell_linked_lists_levels_</div><div class="ttdef"><b>Definition:</b> mesh_cell_linked_list.h:182</div></div>
<div class="ttc" id="class_s_p_h_1_1_multilevel_mesh_cell_linked_list_html_af775796d987783d81d338cca653086d1"><div class="ttname"><a href="class_s_p_h_1_1_multilevel_mesh_cell_linked_list.html#af775796d987783d81d338cca653086d1">SPH::MultilevelMeshCellLinkedList::split_cell_lists_levels_</a></div><div class="ttdeci">StdVec&lt; SplitCellLists &gt; split_cell_lists_levels_</div><div class="ttdef"><b>Definition:</b> mesh_cell_linked_list.h:180</div></div>
<div class="ttc" id="class_s_p_h_1_1_multilevel_mesh_cell_linked_list_html_aba84a1dcf250e7741dba922c109868b4"><div class="ttname"><a href="class_s_p_h_1_1_multilevel_mesh_cell_linked_list.html#aba84a1dcf250e7741dba922c109868b4">SPH::MultilevelMeshCellLinkedList::CellLinkedLists</a></div><div class="ttdeci">virtual matrix_cell CellLinkedLists() override</div><div class="ttdef"><b>Definition:</b> mesh_cell_linked_list.h:202</div></div>
<div class="ttc" id="class_s_p_h_1_1_mesh_cell_linked_list_html_ada1a1f766ca5a8ba020bfaed1365fe20"><div class="ttname"><a href="class_s_p_h_1_1_mesh_cell_linked_list.html#ada1a1f766ca5a8ba020bfaed1365fe20">SPH::MeshCellLinkedList::deleteMeshDataMatrix</a></div><div class="ttdeci">virtual void deleteMeshDataMatrix() override</div><div class="ttdef"><b>Definition:</b> mesh_cell_linked_list_supplementary.cpp:82</div></div>
<div class="ttc" id="class_s_p_h_1_1_multilevel_mesh_cell_linked_list_html_a36001b6b0682df376999a9b4693d745b"><div class="ttname"><a href="class_s_p_h_1_1_multilevel_mesh_cell_linked_list.html#a36001b6b0682df376999a9b4693d745b">SPH::MultilevelMeshCellLinkedList::InsertACellLinkedParticleIndex</a></div><div class="ttdeci">void InsertACellLinkedParticleIndex(size_t particle_index, Vecd particle_position) override</div><div class="ttdef"><b>Definition:</b> mesh_cell_linked_list.cpp:149</div></div>
<div class="ttc" id="class_s_p_h_1_1_multilevel_mesh_cell_linked_list_html"><div class="ttname"><a href="class_s_p_h_1_1_multilevel_mesh_cell_linked_list.html">SPH::MultilevelMeshCellLinkedList</a></div><div class="ttdoc">Defining a multimesh cell linked list for a body for multiresolution particle configuration. </div><div class="ttdef"><b>Definition:</b> mesh_cell_linked_list.h:169</div></div>
<div class="ttc" id="class_s_p_h_1_1_multilevel_mesh_cell_linked_list_html_abe4417adec05e56d361e3762298694e9"><div class="ttname"><a href="class_s_p_h_1_1_multilevel_mesh_cell_linked_list.html#abe4417adec05e56d361e3762298694e9">SPH::MultilevelMeshCellLinkedList::cell_spacing_levels_</a></div><div class="ttdeci">StdVec&lt; Real &gt; cell_spacing_levels_</div><div class="ttdef"><b>Definition:</b> mesh_cell_linked_list.h:176</div></div>
<div class="ttc" id="namespace_s_p_h_html_a856451cbf2b050bbfc31b266ec4f7022"><div class="ttname"><a href="namespace_s_p_h.html#a856451cbf2b050bbfc31b266ec4f7022">SPH::CellListDataVector</a></div><div class="ttdeci">StdLargeVec&lt; ListData &gt; CellListDataVector</div><div class="ttdef"><b>Definition:</b> sph_data_conainers.h:41</div></div>
<div class="ttc" id="namespace_s_p_h_html"><div class="ttname"><a href="namespace_s_p_h.html">SPH</a></div><div class="ttdef"><b>Definition:</b> base_body_supplementary.cpp:11</div></div>
<div class="ttc" id="class_s_p_h_1_1_mesh_cell_linked_list_html_a8527e1d71f0e085f0f7f5986ce10153c"><div class="ttname"><a href="class_s_p_h_1_1_mesh_cell_linked_list.html#a8527e1d71f0e085f0f7f5986ce10153c">SPH::MeshCellLinkedList::writeMeshToVtuFile</a></div><div class="ttdeci">virtual void writeMeshToVtuFile(ofstream &amp;output_file) override</div><div class="ttdef"><b>Definition:</b> mesh_cell_linked_list.h:156</div></div>
<div class="ttc" id="class_s_p_h_1_1_multilevel_mesh_cell_linked_list_html_a794feb60c85193d22ec086b7ac0b4f0d"><div class="ttname"><a href="class_s_p_h_1_1_multilevel_mesh_cell_linked_list.html#a794feb60c85193d22ec086b7ac0b4f0d">SPH::MultilevelMeshCellLinkedList::allocateMeshDataMatrix</a></div><div class="ttdeci">virtual void allocateMeshDataMatrix() override</div><div class="ttdef"><b>Definition:</b> mesh_cell_linked_list.cpp:168</div></div>
<div class="ttc" id="class_s_p_h_1_1_mesh_cell_linked_list_html_a7f47ea7d9eca28aab283be623630e037"><div class="ttname"><a href="class_s_p_h_1_1_mesh_cell_linked_list.html#a7f47ea7d9eca28aab283be623630e037">SPH::MeshCellLinkedList::writeMeshToPltFile</a></div><div class="ttdeci">virtual void writeMeshToPltFile(ofstream &amp;output_file) override</div><div class="ttdef"><b>Definition:</b> mesh_cell_linked_list.h:157</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.14
</small></address>
</body>
</html>
